perm filename EXER[1,RWF]1 blob sn#728173 filedate 1983-09-27 generic text, type T, neo UTF8
Exercise - Dynamic Programming

Some positions that arise in the game of backgammon become simple races,
where the first player to roll a large enough cumulative total on the dice
wins the game.  A player rolls two dice; if the numbers on the dice are
different, the player gets the sum, but if the numbers are equal, he gets
twice the sum; 1 & 2 gives the player 3, while 6 & 6 gives him 24.  

Calculate the average number of turns required for a player to accumulate a
total of 100.  Warning: don't fall into the trap of dividing 100 by the
average roll (8 1/6).

Harder Exercise - Dynamic Programming

Calculate the winning chance of the player whose turn is next in a
backgammon race (see previous problem), if the first player needs a total
of 38, and the second a total of 40.

Hardest Exercise - Dynamic Programming (Suitable for term project)

In backgammon as played for money, at any one time one (or initially both)
of the players has the right to double the stakes before rolling the dice,
if he thinks that on the average he will win the most money by doing so. 
The opponent may either give up the game, paying the current stake, or
agree to let the game continue for twice the current stake, in which case
the first player proceeds with his dice roll.  When a player uses the right
to double, he loses it and the other player gets it, so doubling alternates
between the players.

In the situation of the previous problem, if the first player has doubled
earlier in the game, so that the current stake is 2 units,  on the average
what will be the first player's net winnings, counting losses as negative
winnings?  Assume that each player offers and accepts doubles to maximize
average net winnings.  To make the problem harder, assume that neither
player has doubled; find the first player's average winnings, and determine
whether he should double before his first roll of the dice.